package com.jijuxie.message.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jijuxie.message.domain.Message;

public interface IMessageService extends IService<Message> {

    /**
     * 发送系统通知
     */
    void sendSystemMessage(Long userId, String title, String content);

    /**
     * 发送预约通知
     */
    void sendAppointmentMessage(Long userId, Long appointmentId);

    /**
     * 发送成交通知
     */
    void sendDealMessage(Long userId, Long dealId);

    /**
     * 获取我的消息列表
     */
    Page<Message> selectMyMessagePage(Page<Message> page, Message message);

    /**
     * 标记消息已读
     */
    void markRead(Long messageId);

    /**
     * 标记所有消息已读
     */
    void markAllRead();

    /**
     * 获取未读消息数
     */
    Integer getUnreadCount();

    /**
     * 删除消息
     */
    void deleteMessage(Long messageId);
}
